the composition of two functions